package cn.ljh.mybatisplus.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * @author JH  2024-06
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

    //主键自增
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private String email;

    //乐观锁 version 注解
    @Version
    //这个注解用来每次插入一条新数据时，version 默认值为 1，代码实现在 createAndUpdateHandler 处理类
    @TableField(fill = FieldFill.INSERT)
    private Integer version;

    //逻辑删除
    @TableLogic
    //这个注解用来每次插入一条新数据时，deleted默认值为 0，代码实现在 createAndUpdateHandler 处理类
    @TableField(fill = FieldFill.INSERT)
    private Integer deleted;

    //字段添加填充内容--时间
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
}









